{
return xce->ops->u.evtchn.fd(xce, xce->ops_handle);
}
+
+int xc_evtchn_notify(xc_evtchn *xce, evtchn_port_t port)
+{
+ return xce->ops->u.evtchn.notify(xce, xce->ops_handle, port);
+}
+
+/*
+ * Local variables:
+ * mode: C
+ * c-set-style: "BSD"
+ * c-basic-offset: 4
+ * tab-width: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
return (int)h;
}
-int xc_evtchn_notify(xc_evtchn *xce, evtchn_port_t port)
+static int linux_evtchn_notify(xc_evtchn *xce, xc_osdep_handle h, evtchn_port_t port)
{
+ int fd = (int)h;
struct ioctl_evtchn_notify notify;
notify.port = port;
- return ioctl(xce->fd, IOCTL_EVTCHN_NOTIFY, ¬ify);
+ return ioctl(fd, IOCTL_EVTCHN_NOTIFY, ¬ify);
}
evtchn_port_or_error_t
.u.evtchn = {
.fd = &linux_evtchn_fd,
+ .notify = &linux_evtchn_notify,
},
};
return (int)h;
}
-int xc_evtchn_notify(xc_evtchn *xce, evtchn_port_t port)
+static int minios_evtchn_notify(xc_evtchn *xce, xc_osdep_handle h, evtchn_port_t port)
{
int ret;
.u.evtchn = {
.fd = &minios_evtchn_fd,
+ .notify = &minios_evtchn_notify,
},
};
return (int)h;
}
-int xc_evtchn_notify(xc_evtchn *xce, evtchn_port_t port)
+static int netbsd_evtchn_notify(xc_evtchn *xce, xc_osdep_handle h, evtchn_port_t port)
{
+ int fd = (int)h;
struct ioctl_evtchn_notify notify;
notify.port = port;
- return ioctl(xce->fd, IOCTL_EVTCHN_NOTIFY, ¬ify);
+ return ioctl(fd, IOCTL_EVTCHN_NOTIFY, ¬ify);
}
evtchn_port_or_error_t
.close = &netbsd_evtchn_close,
.u.evtchn = {
- .fd = &netbsd_evtchn_fd,
+ .fd = &netbsd_evtchn_fd,
+ .notify = &netbsd_evtchn_notify,
},
};
return (int)h;
}
-int xc_evtchn_notify(xc_evtchn *xce, evtchn_port_t port)
+static int solaris_evtchn_notify(xc_evtchn *xce, xc_osdep_handle h, evtchn_port_t port)
{
+ int fd = (int)h;
struct ioctl_evtchn_notify notify;
notify.port = port;
- return ioctl(xce->fd, IOCTL_EVTCHN_NOTIFY, ¬ify);
+ return ioctl(fd, IOCTL_EVTCHN_NOTIFY, ¬ify);
}
evtchn_port_or_error_t
.u.evtchn = {
.fd = &solaris_evtchn_fd,
+ .notify = &solaris_evtchn_notify,
},
};
} privcmd;
struct {
int (*fd)(xc_evtchn *xce, xc_osdep_handle h);
+
+ int (*notify)(xc_evtchn *xce, xc_osdep_handle h, evtchn_port_t port);
} evtchn;
} u;
};